package com.ruoyi.archive.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import javax.validation.constraints.NotNull;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 房屋信息对象 archive_room
 * 
 * @author yepanpan
 * @date 2025-04-17
 */
@Data
public class ArchiveRoom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增长主键ID */
    private Long id;

    /** 单位区域 */
    @Excel(name = "区域")
    private String deptName;
    private Long deptId;

    /** 楼栋 */
    @Excel(name = "楼栋")
    private String buildingName;
    @NotNull
    private Long buildingId;

    /** 类别：1民用，2商业，3，民商两用 */
    @Excel(name = "类别", dictType="building_type", comboReadDict=true)
    @NotNull
    private String type;

    /** 名称 */
    @Excel(name = "名称")
    @NotNull
    private String name;

    /** 单元号 */
    @Excel(name = "单元号")
    @NotNull
    private Integer unitNum;

    /** 楼层号 */
    @Excel(name = "楼层号")
    @NotNull
    private Integer floorNum;

    /** 房间号 */
    @Excel(name = "房间号")
    @NotNull
    private Integer roomNum;

    /** 户型 */
    @Excel(name = "户型代码")
    private String shapeCode;
    @Excel(name = "户型名称")
    private String shapeName;
    private Long shapeId;

    /** 面积 */
    @Excel(name = "面积")
    @NotNull
    private BigDecimal area;

    /** 户主 */
    @Excel(name = "户主姓名")
    private String personName;
    @Excel(name = "户主身份证")
    private String personCard;
    private Long personId;

    /** 购买日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyDate;

    /** 物业费期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "物业费期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date toDate;

    /** 状态 */
    @Excel(name = "房屋状态", dictType="room_status", comboReadDict=true)
    @NotNull
    private String status;


}
